<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>JsonMLAst (Closure Compiler)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="JsonMLAst (Closure Compiler)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLError.html" title="class in com.google.javascript.jscomp.jsonml"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/google/javascript/jscomp/jsonml/JsonMLAst.html" target="_top">Frames</a></li>
<li><a href="JsonMLAst.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.google.javascript.jscomp.jsonml</div>
<h2 title="Class JsonMLAst" class="title">Class JsonMLAst</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.google.javascript.jscomp.jsonml.JsonMLAst</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../com/google/javascript/jscomp/SourceAst.html" title="interface in com.google.javascript.jscomp">SourceAst</a>, java.io.Serializable</dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">JsonMLAst</span>
extends java.lang.Object
implements <a href="../../../../../com/google/javascript/jscomp/SourceAst.html" title="interface in com.google.javascript.jscomp">SourceAst</a></pre>
<div class="block">Generates an AST from a JsonML source file.

 JsonML format for representation of JavaScript is specified
 <a href="http://code.google.com/p/es-lab/wiki/JsonMLASTFormat">here.</a></div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../serialized-form.html#com.google.javascript.jscomp.jsonml.JsonMLAst">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLAst.html#JsonMLAst(com.google.javascript.jscomp.jsonml.JsonML)">JsonMLAst</a></strong>(<a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a>&nbsp;jsonml)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLAst.html#clearAst()">clearAst</a></strong>()</code>
<div class="block">Removes any references to root node of the AST.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLAst.html#convertToJsonML()">convertToJsonML</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLAst.html#getAstRoot(com.google.javascript.jscomp.AbstractCompiler)">getAstRoot</a></strong>(<a href="../../../../../com/google/javascript/jscomp/AbstractCompiler.html" title="class in com.google.javascript.jscomp">AbstractCompiler</a>&nbsp;compiler)</code>
<div class="block">Generates AST based on AST representation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLAst.html#getElementPreOrder(int)">getElementPreOrder</a></strong>(int&nbsp;n)</code>
<div class="block">Returns a JsonML element with the specified number from the tree in
 pre-order walk.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/google/javascript/rhino/InputId.html" title="class in com.google.javascript.rhino">InputId</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLAst.html#getInputId()">getInputId</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/google/javascript/jscomp/SourceFile.html" title="class in com.google.javascript.jscomp">SourceFile</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLAst.html#getSourceFile()">getSourceFile</a></strong>()</code>
<div class="block">Returns the source file the generated AST represents.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLAst.html#getSourceName()">getSourceName</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLAst.html#setSourceFile(com.google.javascript.jscomp.SourceFile)">setSourceFile</a></strong>(<a href="../../../../../com/google/javascript/jscomp/SourceFile.html" title="class in com.google.javascript.jscomp">SourceFile</a>&nbsp;file)</code>
<div class="block">Sets the source file the generated AST represents.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="JsonMLAst(com.google.javascript.jscomp.jsonml.JsonML)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JsonMLAst</h4>
<pre>public&nbsp;JsonMLAst(<a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a>&nbsp;jsonml)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="clearAst()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearAst</h4>
<pre>public&nbsp;void&nbsp;clearAst()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html#clearAst()">SourceAst</a></code></strong></div>
<div class="block">Removes any references to root node of the AST.  If it is requested again,
 another parse will be performed.  This method is needed to allow the ASTs
 to be garbage collected if the inputs are still around after compilation.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html#clearAst()">clearAst</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html" title="interface in com.google.javascript.jscomp">SourceAst</a></code></dd>
</dl>
</li>
</ul>
<a name="getAstRoot(com.google.javascript.jscomp.AbstractCompiler)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAstRoot</h4>
<pre>public&nbsp;<a href="../../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;getAstRoot(<a href="../../../../../com/google/javascript/jscomp/AbstractCompiler.html" title="class in com.google.javascript.jscomp">AbstractCompiler</a>&nbsp;compiler)</pre>
<div class="block">Generates AST based on AST representation</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html#getAstRoot(com.google.javascript.jscomp.AbstractCompiler)">getAstRoot</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html" title="interface in com.google.javascript.jscomp">SourceAst</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../com/google/javascript/jscomp/SourceAst.html#getAstRoot(com.google.javascript.jscomp.AbstractCompiler)"><code>SourceAst.getAstRoot(AbstractCompiler)</code></a></dd></dl>
</li>
</ul>
<a name="getSourceFile()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSourceFile</h4>
<pre>public&nbsp;<a href="../../../../../com/google/javascript/jscomp/SourceFile.html" title="class in com.google.javascript.jscomp">SourceFile</a>&nbsp;getSourceFile()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html#getSourceFile()">SourceAst</a></code></strong></div>
<div class="block">Returns the source file the generated AST represents.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html#getSourceFile()">getSourceFile</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html" title="interface in com.google.javascript.jscomp">SourceAst</a></code></dd>
</dl>
</li>
</ul>
<a name="setSourceFile(com.google.javascript.jscomp.SourceFile)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSourceFile</h4>
<pre>public&nbsp;void&nbsp;setSourceFile(<a href="../../../../../com/google/javascript/jscomp/SourceFile.html" title="class in com.google.javascript.jscomp">SourceFile</a>&nbsp;file)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html#setSourceFile(com.google.javascript.jscomp.SourceFile)">SourceAst</a></code></strong></div>
<div class="block">Sets the source file the generated AST represents. This can be called after
 deserializing if access to the source file is needed. If a different file
 is provided than that with which this was created, an IllegalStateException
 will be thrown.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html#setSourceFile(com.google.javascript.jscomp.SourceFile)">setSourceFile</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html" title="interface in com.google.javascript.jscomp">SourceAst</a></code></dd>
</dl>
</li>
</ul>
<a name="getSourceName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSourceName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getSourceName()</pre>
</li>
</ul>
<a name="convertToJsonML()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertToJsonML</h4>
<pre>public&nbsp;<a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a>&nbsp;convertToJsonML()</pre>
</li>
</ul>
<a name="getElementPreOrder(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getElementPreOrder</h4>
<pre>public&nbsp;<a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml">JsonML</a>&nbsp;getElementPreOrder(int&nbsp;n)</pre>
<div class="block">Returns a JsonML element with the specified number from the tree in
 pre-order walk.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>nth node or null if the node does not exists</dd></dl>
</li>
</ul>
<a name="getInputId()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getInputId</h4>
<pre>public&nbsp;<a href="../../../../../com/google/javascript/rhino/InputId.html" title="class in com.google.javascript.rhino">InputId</a>&nbsp;getInputId()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html#getInputId()">getInputId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/google/javascript/jscomp/SourceAst.html" title="interface in com.google.javascript.jscomp">SourceAst</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The input id associated with this AST</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonML.html" title="class in com.google.javascript.jscomp.jsonml"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../com/google/javascript/jscomp/jsonml/JsonMLError.html" title="class in com.google.javascript.jscomp.jsonml"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/google/javascript/jscomp/jsonml/JsonMLAst.html" target="_top">Frames</a></li>
<li><a href="JsonMLAst.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
